using Net35.Xrm.Sdk;
using System;
using System.Runtime.Serialization;
namespace Net35.Crm.Sdk.Messages
{
	[DataContract(Namespace = "http://schemas.microsoft.com/crm/2011/Contracts")]
	public sealed class SendTemplateRequest : OrganizationRequest
	{
		public Guid TemplateId
		{
			get
			{
				if (base.Parameters.Contains("TemplateId"))
				{
					return (Guid)base.Parameters["TemplateId"];
				}
				return default(Guid);
			}
			set
			{
				base.Parameters["TemplateId"] = value;
			}
		}
		public EntityReference Sender
		{
			get
			{
				if (base.Parameters.Contains("Sender"))
				{
					return (EntityReference)base.Parameters["Sender"];
				}
				return null;
			}
			set
			{
				base.Parameters["Sender"] = value;
			}
		}
		public string RecipientType
		{
			get
			{
				if (base.Parameters.Contains("RecipientType"))
				{
					return (string)base.Parameters["RecipientType"];
				}
				return null;
			}
			set
			{
				base.Parameters["RecipientType"] = value;
			}
		}
		public Guid[] RecipientIds
		{
			get
			{
				if (base.Parameters.Contains("RecipientIds"))
				{
					return (Guid[])base.Parameters["RecipientIds"];
				}
				return null;
			}
			set
			{
				base.Parameters["RecipientIds"] = value;
			}
		}
		public string RegardingType
		{
			get
			{
				if (base.Parameters.Contains("RegardingType"))
				{
					return (string)base.Parameters["RegardingType"];
				}
				return null;
			}
			set
			{
				base.Parameters["RegardingType"] = value;
			}
		}
		public Guid RegardingId
		{
			get
			{
				if (base.Parameters.Contains("RegardingId"))
				{
					return (Guid)base.Parameters["RegardingId"];
				}
				return default(Guid);
			}
			set
			{
				base.Parameters["RegardingId"] = value;
			}
		}
		public OptionSetValue DeliveryPriorityCode
		{
			get
			{
				if (base.Parameters.Contains("DeliveryPriorityCode"))
				{
					return (OptionSetValue)base.Parameters["DeliveryPriorityCode"];
				}
				return null;
			}
			set
			{
				base.Parameters["DeliveryPriorityCode"] = value;
			}
		}
		public SendTemplateRequest()
		{
			base.RequestName = "SendTemplate";
			this.TemplateId = default(Guid);
			this.Sender = null;
			this.RecipientType = null;
			this.RecipientIds = null;
			this.RegardingType = null;
			this.RegardingId = default(Guid);
		}
	}
}
